Computer file systems store data in non-volatile memory, such as a computer hard drive. Existing file systems make use of any of a wide variety of organizational approaches for physical placement of data on disk. The various approaches each have their advantages and disadvantages.
For example, a Log Structured File System (LFS) writes file system data sequentially in a log-like structure. A LFS log comprises of a series of segments, where each segment contains both data and metadata blocks. The LFS gathers a segment worth of data from active (volatile) memory and appends the segment at the end of the log. The advantages of this approach is that write performance is increased, crash recovery is relatively simple, and less checkpointing information needs to be stored.
Other file systems such as File Allocation Table (FAT), New Technology File System (NTFS), and the Second Extended File System (ext2), to name just a few, usually attempt to write data blocks at a fixed place on the disk, with great care for spatial locality, and make in-place changes to their data structures in order to perform well on magnetic disks, which tend to seek relatively slowly.
Thus file systems can be optimized according to a wide variety of considerations, including considerations related to particular hardware environments. A computer file system that provides advantages for at least one contemplated computer system arrangement is provided herein.